--- stand/common/load_elf.c.orig
+++ stand/common/load_elf.c
@@ -1259,9 +1259,8 @@
 		strp = strdupout((vm_offset_t)(ef->strtab + sym.st_name));
 		if (strcmp(name, strp) == 0) {
 			free(strp);
-			if (sym.st_shndx != SHN_UNDEF ||
-			    (sym.st_value != 0 &&
-			    ELF_ST_TYPE(sym.st_info) == type)) {
+			if (sym.st_shndx != SHN_UNDEF && sym.st_value != 0 &&
+			    ELF_ST_TYPE(sym.st_info) == type) {
 				*symp = sym;
 				return 0;
 			}
